package com.shuma.upms.user.service;

/**
 * 权限检查服务接口
 */
public interface PermissionCheckService {

    String ROLE_USER = "user";
    String ROLE_ADMIN = "admin";
    String ROLE_SUPER_ADMIN = "super_admin";

    // 获取当前操作者的角色代码
    String getOperatorRole();

    // 获取指定用户的角色代码
    String getUserRole(Long userId);

    // 【更新】检查当前操作者是否对目标用户有【写】权限（修改信息）
    void checkWritePermission(Long targetUserId);

    // 【读取】检查当前操作者是否对目标用户有【读】权限（查看信息）
    void checkReadPermission(Long targetUserId);

    // 【更新】检查当前操作者是否对目标用户有【角色更新】权限
    void checkRoleUpdatePermission(Long targetUserId, String newRoleCode);
}